Computer software applications provide ways in which a user can obtain assistance in learning and using a particular software application. Most software applications have help systems that include search mechanisms where a user types in one or more text strings and the software finds a reference to the text string(s) in a database of help files. The search results are then displayed and the user may select a result and read the content of the respective help file or portion thereof. Generally, help topics inform the user how to use each command or a user interface (UI) object. A dialog box may be used to display the help information. Additionally, the information may contain links to further information on a relevant topic. A disadvantage of this approach is that information on why the user should use the command or user interface object is often lacking. Furthermore, the practical and/or technical application behind why one should use this tool is often lacking from this approach as well.
Another form of help is a tooltip. Tooltips describe what an option does. As an example, when a user hovers a mouse cursor over an item in a dialog box a tooltip may tell the user what the option is intended to do. However, the tooltip may not answer the question why the option should be used.
Tutorials may also be available in state-of-the-art computer applications. Tutorials may show what step to take by, for example, causing a command to blink. However, tutorials do not necessarily inform the user which steps need be taken within the command to complete the command successfully.
A tutorial may take the form of a video published on the Internet. The problem with the approach of capturing video is that UI text may differ in each supported language. Additionally, any minor updates applied in the UI has an impact and updating the video to match the updated UI would be needed. Thus, keeping a video that resides at an Internet location up-to-date is a drawback.
User interface wizards also assist users in preforming tasks. UI wizards lead a user through a series of steps using a series of dialog boxes. UI wizards may also perform certain steps for the user and select certain options (e.g., a directory to store downloaded files). When a user is presented with a UI wizard, the user does not learn where the commands are located in the UI because the UI wizard may open one or more commands for the user, for example. Thus, the next time the user wants to use the command he or she may not know where the command is located in the UI.
Another type of help available is a note that pops up on a computer display. Some notes may fade away after a period of time; other notes may persist until a user affirmatively closes the respective note. For example, an implementation of a note may allow a user to click on the note and step to the next note. Examples of this are the Hopscotch product tour where a note hops around the computer screen, as shown at http://linkedin.github.io/hopscotch/. A drawback with notes as described is that a user cannot execute commands and follow a workflow.
A system and method that creates an interactively learning environment that engages a user and addresses the foregoing drawbacks would be an improvement over current state-of-the-art software systems and beneficial to users' learning experience.